package lab01;

/**
 * Created by 婷婷 on 2017/9/30.
 */
public class Test10 {
    public static void main(String[] args) {
        /*可将要输出的图形分为上四行和下四行两部分*/

        //定义int型变量n表示输出的菱形长度最长的一行
        int n = 4;
        //定义数组的下标为i
        int i=0;
        //将需要输出的字母放进arr数组
        char arr[] = {'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K',
                'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T'};

        //前4行.上半部分

        //第一个for循环控制行数
        for (int row = 1; row <= n; row++) {
            /*第二个for循环控制打印的空格，由图可知每一行前面应有n-当前行个空格，
            因此，将space初始值定义为n-1，当space >= row时，打印空格*/
            for (int space = n - 1; space >= row; space--) {
                System.out.print(" ");
            }

            //打印前四行
            //第三个for循环，用变量j表示每一行输出打印的个数
            for(int j=1;j<=row;j++){
                //i表示数组的下标， 注 意，只有将i独立出来，才能将数组里的元素不重复的输出打印
                System.out.print(arr[i]+" ");
                i++;
            }
            System.out.println();
        }

        //后4行,下半部分
        for (int row = n; row >= 1; row--) {

            for (int space = row; space <= n - 1; space++) {
                System.out.print(" ");
            }

            for(int j=1;j<=row;j++){

                System.out.print(arr[i]+" ");
                i++;
            }
            System.out.println();
        }
    }
}



